package br.com.cultbook.service;

import java.rmi.RemoteException;
import java.util.List;

import javax.ejb.Stateless;

import br.com.cultbook.dao.TipoMeioComunicacaoDAO;
import br.com.cultbook.model.TipoMeioComunicacao;

@Stateless
public class TipoMeioComunicacaoService extends CultBookService implements ICultBookServices <TipoMeioComunicacao>{

	private static final long serialVersionUID = 1L;
	
	@Override
	public TipoMeioComunicacao buscarPorId(long id) throws RemoteException {
		return this.em.find(TipoMeioComunicacao.class, id);
	}

	@Override
	public void incluir(TipoMeioComunicacao t) {
		new TipoMeioComunicacaoDAO().incluir(em, t);		
	}

	@Override
	public void alterar(TipoMeioComunicacao t) {
		new TipoMeioComunicacaoDAO().alterar(em, t);		
	}

	@Override
	public void excluir(long id) throws RemoteException {		
		try{
			TipoMeioComunicacao t = this.buscarPorId(id);
			new TipoMeioComunicacaoDAO().excluir(em, t);
		} catch (Exception e) {
			throw new RemoteException("Existem registros associados ao que se pretende excluir.");
		}
	}

	@Override
	public List<TipoMeioComunicacao> pesquisar(String key) {
		return new TipoMeioComunicacaoDAO().pesquisar(em, key);
	}

	@Override
	public List<TipoMeioComunicacao> buscarTodos() {
		return new TipoMeioComunicacaoDAO().buscarTodos(em);
	}	
}
